fontchooser: Don't show "No fonts" prematurely
authorMatthias Clasen <mclasen@redhat.com>
Sat, 19 Sep 2020 14:25:45 +0000 (10:25 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 19 Sep 2020 14:25:45 +0000 (10:25 -0400)
Don't switch to the empty page while we are still busy
filtering. Fonts might yet appear.

gtk/gtkfontchooserwidget.c
gtk/ui/gtkfontchooserwidget.ui

index 681466714bbe870b91d683f6d53d5415de3e1e7d..ede2ce8bf474033122dfd9f32437bdc4f68b6fac 100644 (file)
@@ -774,7 +774,8 @@ rows_changed_cb (GtkFontChooserWidget *self)
 {
   const char *page;
 
-  if (g_list_model_get_n_items (G_LIST_MODEL (self->selection)) == 0)
+  if (g_list_model_get_n_items (G_LIST_MODEL (self->selection)) == 0 &&
+      gtk_filter_list_model_get_pending (GTK_FILTER_LIST_MODEL (self->filter_model)) == 0)
     page = "empty";
   else
     page = "list";
index c3933c84b294c0eccc8f15983241871676b4d926..96c259687e504779b45b0f2d45d95d07bf0985f7 100644 (file)
@@ -5,6 +5,7 @@
     <signal name="items-changed" handler="rows_changed_cb" object="GtkFontChooserWidget" swapped="1" />
     <property name="model">
       <object class="GtkFilterListModel" id="filter_model">
+        <signal name="notify::pending" handler="rows_changed_cb" object="GtkFontChooserWidget" swapped="1" />
         <property name="incremental">1</property>
         <property name="filter">
           <object class="GtkEveryFilter">